package com.warm.pump.module.work.service;

import com.warm.pump.module.sys.bean.po.gen.DictItem;
import com.warm.pump.module.work.bean.WorkItemDto;
import com.warm.pump.module.work.bean.po.gen.WorkItem;
import com.warm.pump.frame.gen.bean.PageBean;

import java.util.List;
import java.util.Map;

/**
 * work_item
 */
public interface IWorkItemService {

    WorkItem queryObject(Long id);

    WorkItem queryObject(Map<String, Object> map);

    List<WorkItem> queryList(Map<String, Object> map);

    PageBean getPageBeanByMap(Map map, int pageNo, int pageSize);

    int queryTotal(Map<String, Object> map);

    void save(WorkItemDto workItemDtlDto);

    void update(WorkItemDto workItemDtlDto);

    public void update(WorkItem workItem);

    void delete(Map<String, Object> map);

    void delete(Long id);

    void deleteBatch(Long[] ids);

    /**
     * 获取任务详表 排序值
     *
     * @return
     */
    Integer getNextExecNum(Long itemId);

    List<DictItem> getServiceBeans();

    public List<DictItem> getProcessServiceBeans();

    List<DictItem> getMethodsByBeanName(String beanName);

    void run(Long[] ids);
}
